package uslugi;

import java.util.*;
import klient.Klient;
import util.*;

public class Konto extends ObjectPlus{
	private long id;
	private Klient wlasciciel;
	private int saldoPocz;
	private int saldoAktualne;
	private TypKontaEnum typKonta;
	private Date dataOtwarcia;

	public Konto(long id) {
		super();
		this.id = id;
	}

	public Konto(long id, long idKlienta, int saldoPocz, int saldoAktualne,
			String typKontaS, Date d) {
		super();
		this.id = id;
		List<Klient> klienci = null;
		try {
			klienci = ObjectPlus.pobierzEkstensje(Klient.class);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		for(Klient k: klienci){
			if(k.getId() == idKlienta){
				this.wlasciciel = k;
			}
		}
		this.saldoPocz = saldoPocz;
		this.saldoAktualne = saldoAktualne;
		//this.typKonta = EnumConverter.dajTypKonta(typKontaS.trim());
		this.typKonta = TypKontaEnum.fromNazwa(typKontaS.trim());
		this.dataOtwarcia = d;
	}

	public Konto(long id, Klient klient, int saldoPocz, int saldoAktualne,
			TypKontaEnum typKonta, Date d) {
		super();
		this.id = id;
		this.wlasciciel = klient;
		this.saldoPocz = saldoPocz;
		this.saldoAktualne = saldoAktualne;
		this.typKonta = typKonta;
		this.dataOtwarcia = d;
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public Klient getWlasciciel() {
		return wlasciciel;
	}

	public void setWlasciciel(Klient wlasciciel) {
		this.wlasciciel = wlasciciel;
	}

	public int getSaldoPocz() {
		return saldoPocz;
	}

	public void setSaldoPocz(int saldoPocz) {
		this.saldoPocz = saldoPocz;
	}

	public int getSaldoAktualne() {
		return saldoAktualne;
	}

	public void setSaldoAktualne(int saldoAktualne) {
		this.saldoAktualne = saldoAktualne;
	}

	public TypKontaEnum getTypKonta() {
		return typKonta;
	}

	public void setTypKonta(TypKontaEnum typKonta) {
		this.typKonta = typKonta;
	}

	public Date getDataOtwarcia() {
		return dataOtwarcia;
	}

	public void setDataOtwarcia(Date dataOtwarcia) {
		this.dataOtwarcia = dataOtwarcia;
	}
	
	public String toString() {
		return "Konto o id=" + id + ", otwarte przez " + wlasciciel.getImie()
				+ " " + wlasciciel.getNazwisko() + " dnia=" + dataOtwarcia
				+ " o saldzie pocza=" + saldoPocz + "PLN";
	}

}
